package com.huiyeji.hui.vo;

import com.huiyeji.hui.entity.User;

import java.sql.Date;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author zhaoduo
 * 用户进入消息页面首次请求的数据
 */
public class SelfAndOthersAndGroupsVo {

    private User self;
    private List<Other> others;
    private List<Group> groups;

    public static class Other{
        private Long oid;
        private String nickname;
        private String headshot;
        private String province;
        private Date birthday;
        private String personalSignature;
        private String remark;
        private String city;
        private Byte sex;
        private Byte status;
        private Byte relation;
        private LocalDateTime relationTime;

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }

        public String getPersonalSignature() {
            return personalSignature;
        }

        public void setPersonalSignature(String personalSignature) {
            this.personalSignature = personalSignature;
        }

        public Date getBirthday() {
            return birthday;
        }

        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }

        public Long getOid() {
            return oid;
        }

        public void setOid(Long oid) {
            this.oid = oid;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getHeadshot() {
            return headshot;
        }

        public void setHeadshot(String headshot) {
            this.headshot = headshot;
        }

        public String getProvince() {
            return province;
        }

        public void setProvince(String province) {
            this.province = province;
        }

        public String getCity() {
            return city;
        }

        public void setCity(String city) {
            this.city = city;
        }

        public Byte getSex() {
            return sex;
        }

        public void setSex(Byte sex) {
            this.sex = sex;
        }

        public Byte getRelation() {
            return relation;
        }

        public void setRelation(Byte relation) {
            this.relation = relation;
        }

        public LocalDateTime getRelationTime() {
            return relationTime;
        }

        public void setRelationTime(LocalDateTime relationTime) {
            this.relationTime = relationTime;
        }

        public Byte getStatus() {
            return status;
        }

        public void setStatus(Byte status) {
            this.status = status;
        }
    }

    public static class Group{
        private Long gid;
        private String groupName;
        private String headshot;

        /**
         * 群公告
         */
        private String groupNotice;

        /**
         * 群主uid
         */
        private Long creatorUid;

        /**
         * 群聊创建时间
         */
        private LocalDateTime createTime;

        /**
         * 加入群聊时间
         */
        private LocalDateTime joinTime;

        /**
         * 其他成员id
         */
        private List<Long> otherIds;

        public String getGroupNotice() {
            return groupNotice;
        }

        public void setGroupNotice(String groupNotice) {
            this.groupNotice = groupNotice;
        }

        public Long getCreatorUid() {
            return creatorUid;
        }

        public void setCreatorUid(Long creatorUid) {
            this.creatorUid = creatorUid;
        }

        public LocalDateTime getCreateTime() {
            return createTime;
        }

        public void setCreateTime(LocalDateTime createTime) {
            this.createTime = createTime;
        }

        public LocalDateTime getJoinTime() {
            return joinTime;
        }

        public void setJoinTime(LocalDateTime joinTime) {
            this.joinTime = joinTime;
        }

        public Long getGid() {
            return gid;
        }

        public void setGid(Long gid) {
            this.gid = gid;
        }

        public String getGroupName() {
            return groupName;
        }

        public void setGroupName(String groupName) {
            this.groupName = groupName;
        }

        public String getHeadshot() {
            return headshot;
        }

        public void setHeadshot(String headshot) {
            this.headshot = headshot;
        }

        public List<Long> getOtherIds() {
            return otherIds;
        }

        public void setOtherIds(List<Long> otherIds) {
            this.otherIds = otherIds;
        }
    }

    public User getSelf() {
        return self;
    }

    public void setSelf(User self) {
        this.self = self;
    }

    public List<Other> getOthers() {
        return others;
    }

    public void setOthers(List<Other> others) {
        this.others = others;
    }

    public List<Group> getGroups() {
        return groups;
    }

    public void setGroups(List<Group> groups) {
        this.groups = groups;
    }
}
